package com.han.bom;

import java.util.Date;

/**
 * Abstract class representing a report to be created by a professor.
 * Reports can have details such as the class, or the student and his/her performance in an exam
 * 
 * @author Beta Test Engine
 * 
 * @version 1.0
 * @since JDK 1.7
 */

public abstract class Report {
	private Professor professor;
	private Date dateMade;
	
	/**
	 * Sole constructor.
	 * Constructs a report object using the professor parameter
	 * Sets the professor parameter as the professor that will be creating the report.
	 * Sets the dateMade to the date that the report is created
	 * 
	 * @param professor - Creator of the report
	 */
	public Report(Professor professor) {
		super();
		this.professor = professor;
		this.dateMade = new Date();
	}
	
	/**
	 * Returns the professor associated with creating the report
	 * 
	 * @return
	 */
	public Professor getProfessor() {
		return professor;
	}
	/**
	 * Sets the professor that will be creating the report
	 * 
	 * @param professor
	 */
	public void setProfessor(Professor professor) {
		this.professor = professor;
	}
	/**
	 * Returns the date that the report is created.
	 * 
	 * @return
	 */
	public Date getDateMade() {
		return dateMade;
	}
	/**
	 * Sets the date for the basis of when the report is created
	 * 
	 * @param dateMade
	 */
	public void setDateMade(Date dateMade) {
		this.dateMade = dateMade;
	}
}
